﻿var clientContext = SP.ClientContext.get_current();
var stellingenList;
var antwoordenList;
var actieveStellingen;
var stellingItem;
var keuze;
var aantalEens = 0;
var aantalOneens = 0;
var stellingId =0;
var user = null;

$(document).ready(function () {
    $('#divResultaten').hide();

    $('#buttonEens').click(verwerkAntwoord);
    $('#buttonOneens').click(verwerkAntwoord);

    getStelling();
});

function getStelling() {

    //Ophalen stelling via CSOM
    stellingenList = clientContext.get_web().get_lists().getByTitle('Stellingen');
    antwoordenList = clientContext.get_web().get_lists().getByTitle('Antwoorden');

    user = clientContext.get_web().get_currentUser();
    
    var camlQuery = new SP.CamlQuery();
    camlQuery.set_viewXml(
        "<View>" +
            "<Query>" +
               "<Where>" +
                  "<Eq>" +
                     "<FieldRef Name='IsActief'/>" +
                     "<Value Type='Integer'>1</Value>" +
                  "</Eq>" +
                "</Where>" +
            "</Query>" +
        "</View>"
    );
    actieveStellingen = stellingenList.getItems(camlQuery);

    clientContext.load(actieveStellingen);
    clientContext.load(user);

    clientContext.executeQueryAsync(onGetStellingSuccess, onFail);
}

function onGetStellingSuccess(sender, args) {
    var stelling = '';
    var listItemEnumerator = actieveStellingen.getEnumerator();

    while (listItemEnumerator.moveNext()) {
        var oListItem = listItemEnumerator.get_current();
        stelling = oListItem.get_item('Title');
        stellingID = oListItem.get_item('ID')
    }

    $('#divStelling').text(stelling).attr('stellingID', stellingId);
}


function verwerkAntwoord(sender) {
    stellingId = $('#divStelling').attr('stellingID');

    if (sender.srcElement.id == 'buttonEens')
    {
        keuze = "Eens";
    }
    else
    {
        keuze = "Oneens";

    }
    stellingItem = stellingenList.getItemById(stellingId);
    clientContext.load(stellingItem);
    clientContext.executeQueryAsync(onStellingLoaded,onFail);
}

function onStellingLoaded(){

    aantalEens = stellingItem.get_item('AantalEens');
    aantalOneens = stellingItem.get_item('AantalOneens');

    eval('aantal' + keuze +'=aantal' + keuze + '+1;');
    eval('stellingItem.set_item("Aantal' + keuze + '",aantal' + keuze + ');');
   
    stellingItem.update();

    var ci = new SP.ListItemCreationInformation();
    var antwoord = antwoordenList.addItem(ci);
    antwoord.set_item('StellingId',stellingId);
    antwoord.set_item('User', user.get_email());
    antwoord.update();

    clientContext.load(antwoord);
    clientContext.executeQueryAsync(onStellingUpdated, onFail);
}

function onStellingUpdated() {
    $('#divInvoer').hide();
    $('#divResultaten').show();
    $('#divResultaten').html('<p>Aantal oneens: ' + aantalOneens + '</p><p>Aantal eens: ' + aantalEens + '</p>');
}


function onFail(sender, args) {
    alert('Request failed. ' + args.get_message() +
            '\n' + args.get_stackTrace());
}
